Precursor decision feedback equalizer (PDFE)

ABSTRACT

A decision feedback equalizer is provided which is capable of canceling precursor Inter-Symbol Interference (ISI) even when knowledge of future data is unavailable. A novel DFE algorithm is utilized whereby the detection signal-to-noise ratio (SNR) is increased in two aspects: the precursor contribution is eliminated and the sampling location (relative to the channel response) is positioned at the maximum SNR location. As a result, the loop length for data transmission in a cable can be extended.

FIELD OF THE INVENTION

The present invention relates in general to data communication systems and more particularly to a precursor decision feedback equalizer (DFE) capable of canceling precursor Inter-Symbol Interference (ISI) even when future data is not available.

BACKGROUND OF THE INVENTION

In data transmission along Unshielded Twisted Pair (UTP), the transmission channel is never perfect. Rather, the channel pulse response is characterized by a rising edge and a long tail. As a result, samples received over the UTP transmission channel are known to contain interference from all of the data transmitted. Such interference is called Inter-Symbol Interference (ISI). Decision Feedback Equalizers (DFEs) are known in the art for combating ISI. These DFEs are incorporated into prior art digital data receivers.

The purpose of a DFE is firstly to estimate the contributions of non-current data relative to the current received data, and then to subtract these contributions to cancel the ISI. After the ISI has been canceled, the current data can be detected with a simple threshold detector. A most commonly used algorithm for the DFE is the (Least Mean Square) LMS adaptive algorithm, such as described in “C261(UNIC) DSP Re-engineering and Performance Report” Mitel Semiconductor, Document No. C261AP13, Oct. 21, 1996). During a so-called training period of the DFE, all of the data is known, and the contributions to the ISI can be estimated with an adaptive algorithm. Then, during normal transmission, post-estimated data can be used in the adaptive DFE to cancel the postcursor ISI (i.e. ISI caused by data already received). However, since “future” data is not available, it is difficult to eliminate precursor ISI (i.e. ISI caused by future bauds in the channel which have not yet been received by the receiver). As a result, the data detection performance is deteriorated in prior art DFEs due to the existence of the precursor ISI.

SUMMARY OF THE INVENTION

According to the present invention, a new DFE structure is provided which cancels the first precursor ISI. In almost all applications, the primary contribution to precursor ISI comes from the next nearest baud. In other words, only one precursor symbol is significant. Therefore, data detection performance can be dramatically improved by the elimination of only the first precursor ISI.

In prior art DFE algorithms, the sampling location is established such that the first precursor is small enough to be ignored. As a result, the main tap sampling location is normally located at the rising edge of the channel, which may not be at the peak location of the channel, and therefore the received SNR (i.e. the signal-to-noise ratio between the main tap weight and the noise level) suffers a loss. By allowing for the existence of the first precursor and ISI cancellation based thereon, the main tap weight for the current data can be moved further toward the peak location of the channel response in the DFE implementation of the present invention, such that the SNR is maximized. Consequently, the maximum loop length can be reached for transmission over unshielded twisted pair cable. This is useful for Basic Rate ISDN (2B1Q) transceivers as well as higher speed transceivers such as HDSL.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description of the prior art and of a preferred embodiment of the invention is provided herein below with reference to the following drawings, in which:

FIG. 1 shows the optimum decision region for a 2B1Q signal as is known from the prior art;

FIG. 2 shows decision distance for a 2B1Q signal with one precursor;

FIG. 3 shows an extended decision distance for detecting a first data baud at a first time t=t₀ in accordance with the DFE algorithm according to a first embodiment of the invention;

FIG. 4 shows the extended decision distance for detecting a subsequent data baud at time t₁=t₀+T according to the first embodiment;

FIG. 5 is a generic representation of decision boundaries and ambiguity regions at t=t₀ for the first embodiment;

FIG. 6 shows an extended decision distance for detecting a first data baud at a first time t=t₀ in accordance with the DFE algorithm according to a second embodiment of the invention;

FIG. 7 shows the extended decision distance for detecting a subsequent data baud at time t₁=t₀+T according to the second embodiment;

FIG. 8 is a generic representation of decision boundaries and ambiguity regions at t=t₀ for the second embodiment; and

FIG. 9 is a block diagram of a circuit implementation of the second embodiment.

DETAILED DESCRIPTION OF PRIOR ART AND PREFERRED EMBODIMENT

As a result of the channel effect discussed above, a received sample, s(n) in a digital data receiver, contains interference which is a linear combination of all of the data transmitted. Thus, let Equation (1) be: ${s(n)} = {{a_{0}b_{0}} + {\sum\limits_{k \neq 0}{a_{k}b_{k}}} + {v(n)}}$

where a_(k) represents a sample of the total channel response a(t) including the contributions from the transmitter, the receiver, and the transmission line, and v(n) represents noise which is uncorrelated with the data b_(k) (i.e. b_(k) is the information data in 2B1Q format b_(k)=±1,±3).

The noise v(n) includes all of the contributions from thermal noise in the circuit, the near-end cross talk (NEXT) and the near-end echo.

The first term of Equation (1) (i.e. a₀b₀) is the desired signal term, wherein signal power is represented by a₀ and b₀ is the current data in 2B1Q format (b₀±1, ±3). For the best receive performance (i.e. high SNR), it is required that a₀ be as large as possible. Because a₀ is sampled from the total channel response a(t) in order for a timing algorithm to be effective a₀ should be located at the peak position of a(t). However, when a₀ is located at the peak of a(t), other assumptions for the prior art DFE are violated. One of these assumptions is that the precursor of a_(k) (k<0) may not be small enough to be ignored. In prior art DFE algorithms, it is well known to use the post-received data to cancel the ISI contributed by the post cursor. However, there is no way to predict the future data in order to cancel the precursor ISI.

For a 2B1Q signal, the received data has four possible levels: ±a₀ and ±3a₀. The optimum decision region is shown in FIG. 1. The maximum noise amplitude for non-error detection is v(n)<a₀. This is based on the assumption that all postcursor ISI has been canceled and the precursor a⁻¹ is 0. When all postcursor ISI has been canceled, the signal becomes: ${s_{0}(n)} = {{s(n)} - {\sum\limits_{k > 0}{a_{k}b_{k}}}}$

When a⁻¹≠0, and assuming other precursor terms than the first one are small enough to be ignored, the signal after postcursor ISI cancellation is s₀(n)=a₀b₀+a⁻¹b⁻¹+v(n). Taking b₀=1 as an example, because b⁻¹ may be one of the four values: ±1, ±3, there are four possible locations (not just one) for the signal s₀(n), as shown in FIG. 2. The minimum distance between all of these signal locations and the decision boundary (0 and 2a₀ in the example of FIG. 2) is referred to herein as the decision distance. In the example of FIG. 2, the decision distance is a₀−3a⁻¹, which means that the maximum tolerable noise amplitude v(n) for non-error detection is a₀−3a⁻¹, which is smaller than a₀ as shown in FIG. 1. The best sampling location for a₀ is where |a(t) |−3|a(t−T) | is maximized, (but not |a(t)|). It will be understood that, because of the existence of the precursor a⁻¹, the maximum tolerable noise amplitude is reduced from |a₀| to |a₀|−3|a⁻¹|.

According to the present invention, two DFE algorithms are set forth, each of which increases the decision distance when precursor data is present.

FIRST EMBODIMENT

In prior art DFEs, the known data b_(k) (k>0) is used to cancel the ISI contribution in Equation (1). Because the future baud b⁻¹ is unknown to the receiver after the training period, the precursor ISI cannot be canceled even if a⁻¹ is known through the training period. However, it has been recognized that the decision distance can be increased by extending the decision boundary. As an example, for the decision boundary between b₀=1 and b₀=−1, if the decision boundary is extended from 0 to −l for b₀=1 and from 0 to l for b₀=−1 (see FIG. 3), then the decision distance is increased to a₀−3a⁻¹+l.

Now, b₀=1 and b₀=−1 share the same region from −l to l. This region is referred to herein as the decision ambiguity region. When a signal falls within the decision ambiguity region, a secondary decision is required by the DFE algorithm. Under the assumption

a ₀−3a ⁻¹>0 where (a ₀>0, a ⁻¹>0)  (2)

the value l is chosen as l=a⁻¹ such that −l is the middle point between −a₀+a⁻¹ and a₀−3a⁻¹. Letting ${s_{1}(n)} = {{s(n)} - {\sum\limits_{k > 1}{a_{k}b_{k}}}}$

the baud decision according to the method of the present invention is as follows:

1. at t=t₀, if after a normal DFE operation to cancel the postcursor ISI, the distance between the received signal s₀(n) and the decision boundary in FIG. 1 (the boundary is 0 in the above example) is larger than l (l=a⁻¹), a correct decision can be made for baud b₀ under the assumption |v(n)|<a₀−2a⁻¹. Ambiguity occurs if the distance between the received signal and the decision boundary (0 in the above example) is smaller than l, (i.e. if the signal falls inside the region [−l,l] shown in FIG. 3). Under the assumption that |v(n)|<a₀−2a⁻¹, there are two possible solutions for b₀, each corresponding to a special b⁻¹ value. They are b₀=−1, b⁻¹=3, and b₀=1, b₀=−3, which represent the solutions closest to the decision boundary. When ambiguity occurs, these two possibilities are retained and the baud decision is deferred to time t₀+T at which time the next baud arrives.

2. at t=t₀+T, b₁ is b₀ from time t₀, and b₀ is b⁻¹ from time t₀. If no ambiguity has occurred at t=t₀, the algorithm returns to step 1. Otherwise, the ISI contributions are calculated from all known data b_(k) (k>l) and then eliminated from the input signal by subtraction. Then, continuing with the same example wherein the signal falls inside the region [−l,l] at t=t₀, then at time t=t₀+T, b₁ and b₀ can assume only one of two possible pairs of values: b⁻¹=−1, b₀=3 and b₁=1, b₀=−3. With the next arriving baud b⁻¹ there are eight possible locations for the data s₁(n)=(a₁b₁+a₀b₀+a⁻¹b⁻¹) as shown in FIG. 4.

The decision boundary is therefore set at the middle of −3a₀+a₁+3a⁻¹ and 3a₀a₁−3a⁻¹, which is 0. If the signal lies at the left side of the boundary, b⁻¹=1. Otherwise, b₁=−1. From FIG. 4, the secondary decision distance is 3a₀a₁−3a⁻¹. If

3a ₀ −a ₁−3a ⁻¹ >a ₀−2a ⁻¹

or 2a ₀ >a ₁ +a ⁻¹  (3)

then the DFE produces a correct decision for b⁻¹ if |v(n)|<a−2a⁻¹, i.e. $b_{1} = \left\{ \begin{matrix} {1,{{s_{1}(n)} < 0}} \\ {{- 1},{{s_{1}(n)} > 0}} \end{matrix} \right.$

After b₁ is determined, the algorithm returns to step 1) for the detection of b₀. In the above derivations, it is assumed that a₀, a⁻¹ and a₁ are all positive numbers. Otherwise, their absolute values should be used instead.

In general, all decision boundaries and the ambiguity regions at t=t₀ are as shown in FIG. 5. When ambiguity occurs between b₀=k and b₀=k+2 (k=−3,−1, or 1), the decision boundary for the secondary decision is (k+1) a₁. In other words, at t=t₀+T, b₁ (which is the undecided b₀ at time t₀) is determine by $b_{1} = \left\{ \begin{matrix} {{k + 2},{{s_{1}(n)} < {\left( {k + 1} \right)a_{1}}}} \\ {k,{{s_{1}(n)} > {\left( {k + 1} \right)a_{1}}}} \end{matrix} \right.$

In the above described embodiment of DFE, the decision distance is increased from |a₀|−3|a⁻¹| to |a₀−2|a⁻¹|, and the constraints for channels are given by Equations (2) and (3).

SECOND EMBODIMENT

Returning to FIG. 3, if the value of l can be further increased the decision distance or the detecting SNR can also be increased further. Again, using the boundary between b₀=1 and b₀=−1 as an example, set l=2a⁻¹ such that l lies in the middle of a₀+a⁻¹ and −a₀+3a⁻¹, and −l lies in the middle of a₀−3a⁻¹, and −a₀−a⁻¹ (see FIG. 6). The corresponding detection procedures are as follows:

1. At time t=t₀, if after the normal DFE algorithm to cancel postcursor ISI, the received signal s₀(n) is outside of the ambiguity region, there is a correct baud decision for b₀. When the signal falls in the ambiguity region, e.g. in the region [−l,l] (l=2a⁻¹), decision ambiguity occurs. According to this embodiment, the ambiguity region is divided into two parts. If the signal is in the region [0,l], there are three possible values for b₀ and b⁻¹ as long as the noise is bounded as |v(n)|<|a₀|−|a⁻¹|. These locations are {b₀=−1,b⁻¹=3}, {b₀=1, b⁻¹=−3} and {b₀=1, b⁻¹=−1}. If the signal is in the region [−l,0], three possible values for b₀ and b⁻¹ are {b₀=−1, b⁻¹32 1}, {b₀=−1, b⁻¹=3} and {b₀=1, b⁻¹=−3}. When ambiguity occurs, the current baud decision is deferred until the arrival of the next baud.

2. at t=t₀+T, if no ambiguity occurs at t=t₀, the algorithm repeats step 1. Otherwise, the baud decision is made first for b₁. As an example, if it is assumed that the signal was in the ambiguity region [0, 2a⁻¹] at t=t₀. At time t=t₀+T, there are three possible values for b₀ and b₁, which are {b₁=−1, b₀=3}, {b₁=1, b₀=−3} and {b₁=1, b₀=−1}. With the next arriving baud b⁻¹, also having four possible values, there are a total of twelve possible locations for s₁(n)=a₁b₁+a₀b₀+a⁻¹b⁻¹, as shown in FIG. 7. To determine the value for b₁, the decision boundary is set at a₀ which is at the middle of −a₀+a₁+3a⁻¹ and 3a₀−a₁−3a⁻¹. The decision distance, by FIG. 7, is 2 |a₀|−|a₁|−3a⁻¹|. If

2|a ₀ |−|a ₁|−3|a ⁻¹ |>|a ₀ |−|a _(−1|)

or |a ₀ |>|a ₁|+2|a _(−1|)  (4)

a correct decision can be made for b₁ if |v(n)|<a₀−a⁻¹, i.e. $b_{1} = \left\{ \begin{matrix} {1,{{s_{1}(n)} < {a_{0}}}} \\ {{- 1},{{s_{1}(n)} > {a_{0}}}} \end{matrix} \right.$

the algorithm returns to step 1) for the detection of b₀.

For general cases, the decision region is the same as shown in FIG. 5, except that now each ambiguity region is divided into two parts, represented respectively by d=0 and d=1 in FIG. 8. At t=t₀, if ambiguity occurs between b₀=k and b₀=k+2 (k=−3,−1 or 1), with a value d(d =0 or 1), the boundary for the secondary decision (at t=t₀+T) will be (k+1)a₁+(2d−1)a₀, i.e. $b_{1} = \left\{ \begin{matrix} {{k + 2},{{s_{1}(n)} < {{\left( {k + 1} \right)a_{1}} + {\left( {{2d} - 1} \right)a_{0}}}}} \\ {k,{{s_{1}(n)} > {{\left( {k + 1} \right)a_{1}} + {\left( {{2d} - 1} \right)a_{0}}}}} \end{matrix} \right.$

Now, the decision distance is further increased to |a₀|−|a⁻¹|, and the required constraints are given by Equations (2) and (4). The best sampling location is the one which maximizes |a(t)|−|a(t−T)|.

During the training period, the modified DFE algorithm of the present invention works the same as well known prior art DFE algorithms except that the future baud is taken into consideration. All of the bauds being transmitted are known during the training period and there is no difficulty in obtaining the future baud. After the training period, some modifications in the DFE are required, as discussed below.

FIG. 9 shows the implementation diagram for the modified DFE algorithm according to the second embodiment. The implementation of the first embodiment is identical except that several parameter calculations are modified, as would be understood by a person of ordinary skill in the art having read the foregoing description of the first embodiment. In order to better illustrate the time movement of the signal, a slightly different notation is utilized from that used in prior portions of this specification. All parameters are represented with subscript t or t−l, which represent that parameter at time t or t−T, (e.g., b_(t−1), b_(t) and b_(t+i) represent the data at time t−T, t and t+T).

In FIG. 9, the input signal is s(t) and the DFE coefficients are adapted with error signal e(t): $\begin{matrix} {{e(t)} = {{s(t)} - {\sum\limits_{k = {- 1}}^{N}{a_{k}b_{t - k}}}}} & (5) \end{matrix}$

However, the DFE block 1 output s₁(t) contains only part of the ISI estimation (i.e. ${S_{1}(t)} = {\sum\limits_{k = 2}^{N}{a_{k}b_{t - k}}}$

The coefficients a₁,a₀,a⁻¹ are output from DFE block |and their contributions to the ISI are calculated in a subsequent stage, as discussed below. Main decision block 3 generates the current baud estimation (four levels of b_(t)) according to a given detection boundary, where m_(t) is an indicator for the ambiguity. If m_(t)=0, there is no ambiguity and if m_(t)=1, ambiguity exists for the current output data b_(t). When ambiguity exists d_(t) is either 0 or 1, depending on the signal location as shown in FIG. 8.

A comparator circuit 5 generates a “1” output if the threshold C_(t−1) is larger than e₁(t). Otherwise, the output of comparator 5 is 0. The function of comparator 5 is to determine whether b_(t−1) is K or K+2 when ambiguity occurs at t=t₀, where K=b_(t−1)−2d_(t−1) is the smaller the two possible values of b_(t−1) at the two sides of the ambiguity region (see FIGS. 2-8). A multiplexer 7 outputs data from the upper input port (port 0) if m_(t−1)=0, (i.e. no ambiguity occurs in the previous baud decision), which is equivalent to the direct pass of b_(t−1). Otherwise, ambiguity occurs in the previous baud decision and the output of multiplexer 7 is the lower input port (port 1), Under such circumstance, the output is the new calculated b_(t−1). The value b_(t−1) is multiplied by coefficient a₁ and the product of this multiplication represents the most recent post-cursor ISI term which is then subtracted from the error signal e₁(t) to yield a further error signal e₂(t), which is the input to the main decision block 3.

Block 9 calculates the value of C_(t) when m_(t)=1:

C _(t)=(b _(t)−2d _(t)+1)a ₁+(2d _(t)−1)a ₀  (6)

Block 11 calculates the ISI contribution from a₀a⁻¹. Its output is

a ₀ b _(t−1) +a ⁻¹ b _(t)

In Equation (5) the error calculation requires the future baud b_(t+1). There is no difficulty in providing the future baud b,+, during the training period when all the bauds are known. However, during normal data transmission, the future baud is unknown. Therefore, the adaptation is delayed for one baud resulting in: ${e\left( {t - T} \right)} = {{s\left( {t - T} \right)} - {\sum\limits_{k = {- 1}}^{N}{a_{k}b_{t - k - 1}}}}$

The sign adaptation algorithm is modified as

a _(k) =a _(k) +μe(t−T)sgn(b _(t−k−1))

where μ is an adaptive constant.

The adaptation, and blocks 5, 7 and 9, are all controlled by the ambiguity indicator m_(t). When ambiguity occurs, the adaptation stops and blocks 5 to 9 start to operate. Finally, due to the ambiguity in the current baud detection, the data output is delayed by one baud, (i.e., the output is b_(t−1) instead of b_(t)).

In the DFE adaptation set forth above, the data b_(t) is used which may or may not have ambiguity (i.e. its value may not always be correct). Any error in b_(t) will cause further error in e(t−T) and hence the adaptation. To ensure an accurate adaptation, it may be advantageous to delay the adaptation by another baud period, in which case e(t−2T) is used so that Equation (7) becomes

a _(k) =a _(k) +μe(t−2T)sgn(b _(t−k−2))  (8)

Simulations have shown that a slight SNR improvement is achieved by delaying the adaptation by one further baud period as set forth herein.

To further avoid the possibility of false coefficient adaptation during normal data receiving, a threshold of |a₀|−|a⁻¹|, (i.e. the same as the decision distance) may be set such that the adaptation is made only when |e(t−2T)| is smaller than that threshold. In this way, the adaptation is automatically stopped when a decision error is detected.

Other embodiments of the invention are possible without departing from the sphere and scope as set forth in the claims appended hereto. 

We claim:
 1. A decision feedback equalizer for determining a data value in a received signal sample s(t) in the presence of intersymbol interference (ISI) comprising: a DFE block for generating a signal s₁(t) which is an estimate of all except a most recent post-cursor ISI term and for generating coefficients a⁻¹, a₀ and a₁; a first subtractor for subtracting said signal s₁(t) from said received signal sample s(t) and in response generating an error sample e₁(t); a second subtractor for subtracting said most recent post-cursor ISI term from said error sample e₁(t) and in response generating a further error sample e₂(t); a main decision block for receiving said further error sample e₂(t) and in response generating a current data value estimation and an ambiguity indicator m_(t) in said current data value; and a secondary decision block for receiving said error sample e₁(t), receiving and delaying said current data value estimation and ambiguity indicator m_(t) thereby resulting in a previous data value estimation and previous ambiguity indicator m_(t−1), respectively, and in response generating an adaptive decision threshold (C_(t−1)) based on said previous data value estimation and (i) in the event said previous ambiguity indicator m_(t−1) indicates no ambiguity then outputting said previous data value estimation and (ii) in the event said previous ambiguity indicator m_(t−1) indicates ambiguity then modifying said previous data value estimation based on a comparison between said error sample e₁(t) and said adaptive decision threshold C_(t−1); and an ISI calculation block for receiving said current data value estimation, said previous data value estimation, said coefficients a⁻¹ and a₀, and a delayed version of said further error sample e₂(t), and in response generating a final error signal e(t−T) in which signal contributions from said current data value estimation, said post-cursor ISI and a most recent precursor ISI term have been subtracted, for adapting said coefficients.
 2. The decision feedback equalizer of claim 1, wherein said secondary decision block further comprises: a comparator for comparing said error sample e₁(t) to said adaptive decision threshold C_(t−1) when said previous ambiguity indicator m_(t−1)=1, thereby indicating that said sample s(t) is within an ambiguity region between data values, and in the event C_(t−1)>e₁(t) then generating an output of value equal to 1 and otherwise generating an output of value equal to 0; a first multiplier for doubling said output of said comparator; a first delay for receiving and delaying a location indicator value d_(t) by one sample period, said indicator value being one of either 0 or 1 depending on location of said sample s(t) within said ambiguity region; a second multiplier for doubling said location indicator value delayed via said first delay; a second delay for receiving and delaying a prior data value b_(t) by one sample period resulting in a signal b_(t−1); a second subtractor for subtracting said location indicator value doubled via said second multiplier from said prior data value delayed via said second delay, and in response outputting a further variable denoted as K, wherein K=b_(t−1)−2d_(t−1); a summer for adding said further variable K and said output of said first multiplier and generating an output sum signal of value K in the event the output value of said comparator is 0 and of value K+2 in the event the output value of said comparator is 1; a gate circuit having a control input for receiving said prior ambiguity indicator m_(t−1) a first data input for receiving said prior data value b_(t) delayed by one sample period and a second data input for receiving said output sum signal, and in the event m_(t−1)=0 indicating no ambiguity in a prior bit decision then directly outputting said signal b_(t−1), and in the event m_(t−1)=1 indicating ambiguity in said prior bit decision then directly outputting said sum signal; a further multiplier for multiplying the output of said gate circuit by a₁ received from said DFE block and in response generating said most recent post-cursor ISI term for application to said first subtractor.
 3. A method for detecting a current data bit b₀ in a received sample ${{s_{k}(n)} = {{a_{0}b_{0}} + {\sum\limits_{k \neq 0}{a_{k}b_{k}}} + {v(n)}}},$

where a_(k) represents a sample of total channel response, v(n) represents noise which is uncorrelated with data, and a₀ represents signal power of said current data bit, comprising the steps of: extending an initial decision boundary of 0 to −a⁻¹ for detecting b₀=1 and to a⁻¹ for detecting b₀=−1, resulting in a decision ambiguity region between −a⁻¹ and a⁻¹; if at time t=t₀, |s₀(n)|>a⁻¹ then selecting b₀ without ambiguity to be one of either ±1 where |v(n)|<a₀−2a⁻¹; and if at time t=t₀, |so(n)|<a⁻¹ such that said received signal sample falls within said decision ambiguity region, then (i) retaining a first possible solution as b₀=−1,b⁻¹=3, and a second possible solution as b₀=1,b⁻¹=3, and (ii) at time t=t₁ if s₁(n)<0 then setting b₁=1 which is equivalent to b₀=1 at time t=t₀ and retrieving b⁻¹=−3 retained at time t=t₀ and in response setting b₀=−3, and if s₁(n)>0 then setting b₁=−1 which is equivalent to b₀=−1 at time t=t₀ and retrieving b⁻¹=3 retained at time t=t₀ and in response setting b₀=3.
 4. A method for detecting a current data bit b₀ in a received sample ${{s_{k}(n)} = {{a_{0}b_{0}} + {\sum\limits_{k \neq 0}{a_{k}b_{k}}} + {v(n)}}},$

where a_(k) represents a sample of total channel response, v(n) represents noise which is uncorrelated with data, and a₀ represents signal power of said current data bit, comprising the steps of: extending a central decision boundary of 0 to −a⁻¹ for detecting b₀=1 and to a⁻¹ for detecting b₀=−1, resulting in a central decision ambiguity region between −a⁻¹ and a⁻¹; extending a first adjacent decision boundary of −2a₀ to −2a₀−a⁻¹ for detecting b₀=−1 and to −2a₀+a⁻¹ for detecting b₀=−3, resulting in a first adjacent decision ambiguity region between −2a₀−a⁻¹ to −2a₀+a⁻¹; extending a second adjacent decision boundary of 2a₀ to 2a₀+a⁻¹ for detecting b₀=1 and to 2a₀−a⁻¹ for detecting b₀=3, resulting in a second adjacent decision ambiguity region between 2a₀−a⁻¹ to 2a₀+a⁻¹; if at time t=t₀, said signal sample is detected as falling outside each of said decision ambiguity regions then selecting b₀ without ambiguity to be one of either ±1 or ±3 where |v(n)|<a₀−2a⁻¹; and if at time t=t₀, said signal sample is detected as falling inside one of said decision ambiguity regions between b₀=i and b₀=i+2, where i=one of either −3, −1 or 1, then (i) retaining a first possible solution as b₀=i, b⁻¹=3, and a second possible solution as b₀=i+2,b⁻¹=−3, and (ii) at time t=t₁ if s₁(n)<(i+1)a₁ then setting b₁=i+2 which is equivalent to b₀=i+2 at time t=t₀ and retrieving b⁻¹=−3 retained at time t=t₀ and in response setting b₀=−3, and if s₁(n)>(i+1)a₁ then setting b₁=i which is equivalent to b₀=i at time t=t₀ and retrieving b⁻¹=3 retained at time t=t₀ and in response setting b₀=3.
 5. A method for detecting a current data bit b₀ in a received sample ${{s_{k}(n)} = {{a_{0}b_{0}} + {\sum\limits_{k \neq 0}{a_{k}b_{k}}} + {v(n)}}},$

where a_(k) represents a sample of total channel response, v(n) represents noise which is uncorrelated with data, and a₀ represents signal power of said current data bit, comprising the steps of: extending an initial decision boundary of 0 to −2a⁻¹ for detecting b₀=1 and to 2a⁻¹ for detecting b₀=−1, resulting in a decision ambiguity region between −2a⁻¹ and 2a⁻¹; if at time t=t₀, |s₀(n)|>2a⁻¹ then selecting b₀ without ambiguity to be one of either ±1 where |v(n)|<a₀−a⁻¹; and if at time t=t₀, |s₀(n)|<2a⁻¹ such that said received signal sample falls within said decision ambiguity region, then (i) if 0≦s₀(n)≦2a⁻¹ retaining a first three pairs of possible solutions as {b₀=−1, b⁻¹=3}, {b₀=1, b⁻¹=−3}, and {b₀=1, b⁻¹=−1}, and (ii) at time t=t₁ if s₁(n)<|a₀| then setting b₁=−1 which is equivalent to b₀=1 at time t=t₀, and if s₁(n)>|a₀| then setting b₁=−1 which is equivalent to b₀=−1 at time t=t₀, and (i') if −2a⁻¹≦s₀(n)<0 retaining a second three pairs of possible solutions as {b₀=−1, b⁻¹=1}, {b₀=1, b⁻¹=−3}, and {b₀=−1, b⁻¹=3}, and (ii') at time t=t₁ if s₁(n)<|a₀| then setting b₁=1 which is equivalent to b₀=1 at time t=t₀, and if s₁(n)>|a₀| then setting b₁=−1 which is equivalent to b₀=−1 at time t=t₀.
 6. A method for detecting a current data bit b₀ in a received sample ${{s_{k}(n)} = {{a_{0}b_{0}} + {\sum\limits_{k \neq 0}{a_{k}b_{k}}} + {v(n)}}},$

where a_(k) represents a sample of total channel response, v(n) represents noise which is uncorrelated with data, and a₀ represents signal power of said current data bit, comprising the steps of: extending a central decision boundary of 0 to −2a⁻¹ for detecting b₀=1 and to 2a⁻¹ for detecting b₀=−1, resulting in a central decision ambiguity region between −2a⁻¹ and 2a⁻¹; extending a first adjacent decision boundary of −2a₀ to −2a₀ −2a⁻¹ for detecting b₀=−1 and to −2a₀+2a⁻¹ for detecting b₀=−3, resulting in a first adjacent decision ambiguity region between −2a₀−2a⁻¹ to −2a₀+2a⁻¹; extending a second adjacent decision boundary of 2a₀ to 2a₀+2a⁻¹ for detecting b₀=1 and to 2a₀−2a⁻¹ for detecting b₀=3, resulting in a second adjacent decision ambiguity region between 2a₀−2a⁻¹ to 2a₀+2a⁻¹; if at time t=t₀, said signal sample is detected as falling outside each of said decision ambiguity regions then selecting b₀ without ambiguity to be one of either ±1 or ±3 where |v(n)|<a₀−a⁻¹; and if at time t=t₀, said signal sample is detected as falling inside one of said decision ambiguity regions between b₀=i and b₀=i+2 with a location indicator value d_(t) being one of either 0 or 1, where i=one of either −3, −1 or 1, then (i) retaining first possible solution pairs for d_(t)=0 as {b₀=i, b⁻¹=1}, {b₀=i, b⁻¹=3}, {b₀=i+2, b⁻¹=−3}; and second possible solution pairs for d_(t)=1 as {b₀=i, b⁻¹=3 }, {b₀=i+2, b⁻¹=−3} and {b₀=i+2, b⁻¹=−1}; and (ii) at time t=t₁ if s₁(n)<(i+1)a₁+(2d−1)a₀ then setting b₁=i+2 which is equivalent to b₀=i+2 at time t=t₀, and if s₁(n)>(i+1)a₁+(2d−1)a₀ then setting b₁=i which is equivalent to b₀=i at time t=t₀. 